﻿using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;
using Nemerle.ComputationExpressions.Async;

using System;
using System.Collections.Generic;
using System.Linq;

namespace Nemerle2.Compiler
{
  /// <summary>
  /// Description of ProjectLoader.
  /// </summary>
  internal class ProjectLoader : IMetadataProvider
  {
    _solution : NSolution;

    public this(engine : NSolution)
    {
      _solution = engine;
    }

    #region Nemerle2.Compiler.IMetadataProvider  Members
    
    public LoadAssembly(path : string) : IReferencedAssembly
    {
    	_ = path;
    	throw System.NotImplementedException()
    }

    public LoadAssemblies(paths : Seq[string]) : Seq[IReferencedAssembly]
    {
    	paths.Map(_ => NProject(_solution)) //dummy realyzation
    }

    public Msg : list[Msg] { get; private set; }

#pragma warning disable 10003 // is not externally visible and has never been referenced
    public event MsgChanged : EventHandler;
#pragma warning restore 10003

    #endregion

  }
}
